package com.work.entity.main;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 散货外捣
 *
 * @author ：dujianyu
 * @since ：Created in 2024/5/9 9:20
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("bulk_tally")
@ApiModel(value = "BulkTally对象", description = "散货外捣")
public class BulkTally extends TenantEntity {

    /** 创建人姓名 */
    @ApiModelProperty(name = "创建人姓名",notes = "")
    private String createUserName ;

    /** 更新人姓名 */
    @ApiModelProperty(name = "更新人姓名",notes = "")
    private String updateUserName ;

    /** 货运船ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "货运船ID",notes = "")
    private Long transportShipId ;

    /** 货名 */
    @ApiModelProperty(name = "货名",notes = "")
    private String cargoType ;

    /** 货名 */
    @ApiModelProperty(name = "货名",notes = "")
    private String cargoTypeName ;

    /** 理货日期 */
    @ApiModelProperty(name = "理货日期",notes = "")
    private LocalDate tallyDate ;

    /** 时间段（班次） */
    @ApiModelProperty(name = "时间段（班次）",notes = "")
    private String timeSpace ;

    /** 作业过程 */
    @ApiModelProperty(name = "作业过程",notes = "")
    private Long operationType ;

    /** 作业活动 */
    @ApiModelProperty(name = "作业活动",notes = "")
    private String workActivity ;

    /** 作业活动名称 */
    @ApiModelProperty(name = "作业活动名称",notes = "")
    private String workActivityName ;

    /** 理货类型 */
    @ApiModelProperty(name = "理货类型",notes = "")
    private String tallyType ;

    /** 航陆运 */
    @ApiModelProperty(name = "航陆运",notes = "")
    private String shipLand ;

    /** 区域ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "区域ID",notes = "")
    private Long oriAreaId ;

    /** 区域名称 */
    @ApiModelProperty(name = "区域名称",notes = "")
    private String oriAreaName ;

    /** 区位id */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "区位id",notes = "")
    private Long oriPositionId ;

    /** 区位名称 */
    @ApiModelProperty(name = "区位名称",notes = "")
    private String oriPositionName ;

    /** 具体位置 */
    @ApiModelProperty(name = "具体位置",notes = "")
    private String oriSpot ;

    /** 吨数 */
    @ApiModelProperty(name = "吨数",notes = "")
    private BigDecimal oriTon ;

    /** 去向区域ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "去向区域ID",notes = "")
    private Long toAreaId ;

    /** 去向区域名称 */
    @ApiModelProperty(name = "去向区域名称",notes = "")
    private String toAreaName ;

    /** 去向场位ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "去向场位ID",notes = "")
    private Long toPositionId ;

    /** 去向场位名称 */
    @ApiModelProperty(name = "去向场位名称",notes = "")
    private String toPositionName ;

    /** 去向货位 */
    @ApiModelProperty(name = "去向货位",notes = "")
    private String toSpot ;

    /** 去向吨数 */
    @ApiModelProperty(name = "去向吨数",notes = "")
    private BigDecimal toTon ;

    /** 是否检算完成 */
    @ApiModelProperty(name = "是否检算完成",notes = "")
    private String isCheck ;

    /** 检算状态 */
    @ApiModelProperty(name = "检算状态",notes = "")
    private String checkType ;

    /** 检算原因 */
    @ApiModelProperty(name = "检算原因",notes = "")
    private String checkReason ;

    /** 检算来源吨数 */
    @ApiModelProperty(name = "检算来源吨数",notes = "")
    private BigDecimal checkOriTon ;

    /** 检算去向吨数 */
    @ApiModelProperty(name = "检算去向吨数",notes = "")
    private BigDecimal checkToTon ;

    /** 检算人 */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "检算人",notes = "")
    private Long checker ;

    @ApiModelProperty(name = "检算人",notes = "")
    private String checkerName ;

    /** 备注 */
    @ApiModelProperty(name = "备注",notes = "")
    private String remark ;

    /** 一级配工ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "一级配工ID",notes = "")
    private Long arrangeId ;

    /** 配工信息 */
    @ApiModelProperty(name = "配工信息",notes = "")
    private String arrangeInfo ;

    /** 货位 */
    @ApiModelProperty(name = "舱口",notes = "")
    private String hold ;

    /** 货位 */
    @ApiModelProperty(name = "舱口",notes = "")
    private String holdName ;

    /** 公司 */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(name = "公司",notes = "")
    private Long company ;

    /** 公司 */
    @ApiModelProperty(name = "公司",notes = "")
    private String companyName ;

    /** 队 */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(name = "队",notes = "")
    private Long team ;

    /** 队 */
    @ApiModelProperty(name = "队",notes = "")
    private String teamName ;

    /** 组 */
    @JsonSerialize(using = ToStringSerializer.class)
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(name = "组",notes = "")
    private Long groups ;

    /** 组 */
    @ApiModelProperty(name = "组",notes = "")
    private String groupsName ;

    /** 队组全名 */
    @ApiModelProperty(name = "队组全名",notes = "")
    private String workerInfo ;

    /** 车数 */
    @ApiModelProperty(name = "车数",notes = "")
    private String cars ;

    /** 理货区域 */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "理货区域",notes = "")
    private Long areaId ;

    /** 机械IDs */
    @ApiModelProperty(name = "机械IDs",notes = "")
    private String machineIds ;

    /** 机械种类IDs */
    @ApiModelProperty(name = "机械种类IDs",notes = "")
    private String machineKinds ;

    /** 机械队组IDs */
    @ApiModelProperty(name = "机械队组IDs",notes = "")
    private String machineTeamIds ;

    /** 机械信息 */
    @ApiModelProperty(name = "机械信息",notes = "")
    private String machineInfo ;

    /** 是否可编辑 */
    @ApiModelProperty(name = "是否可编辑",notes = "")
    private String isEdit ;

    /** 解锁人 */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "解锁人",notes = "")
    private Long  editChangeUser ;

    /** 解锁人姓名 */
    @ApiModelProperty(name = "解锁人姓名",notes = "")
    private String editChangeUserName ;
}
